home *** CD-ROM | disk | FTP | other *** search
- *os_os2.txt* For Vim version 6.0. Last change: 2001 Sep 03
-
-
- VIM REFERENCE MANUAL by Paul Slootman
-
-
- *os2* *OS2* *OS/2*
- This file contains the particularities for the OS/2 version of Vim.
-
- At present there is no native PM version of the GUI version of vim: The OS/2
- version is a console application. However, there is now a Win32s-compatible
- GUI version, which should be usable by owners of Warp 4 (which supports
- Win32s) in a Win-OS/2 session. The notes in this file refer to the native
- console version.
-
-
- NOTE
-
- This OS/2 port works well for me and a couple of other OS/2 users; however,
- since I haven't had much feedback, that either means no (OS/2-specific) bugs
- exist (besides the ones mentioned below), or no one has yet created a
- situation in which any bugs are apparent. File I/O in Dos and Unix mode,
- binary mode, and FAT handling all seem to work well, which would seem to be
- the most likely places for trouble.
-
- A known problem is that files opened by Vim are inherited by other programs
- that are started via a shell escape from within Vim. This specifically means
- that Vim won't be able to remove the swap file(s) associated with buffers open
- at the time the other program was started, until the other program is stopped.
- At that time, the swap file may be removed, but if Vim could not do that the
- first time, it won't be removed at all. You'll get warnings that some other
- Vim session may be editing the file when you start Vim up again on that file.
- This can be reproduced with ":!start epm". Now quit Vim, and start Vim again
- with the file that was in the buffer at the time epm was started. I'm working
- on this!
-
- A second problem is that Vim doesn't understand the situation when using it
- when accessing the OS/2 system via the network, e.g. using telnet from a Unix
- system, and then starting Vim. The problem seems to be that OS/2 =sometimes=
- recognizes function / cursor keys, and tries to convert those to the
- corresponding OS/2 codes generated by the "normal" PC keyboard. I've been
- testing a workaround (mapping the OS/2 codes to the correct functions), but so
- far I can't say anything conclusive (this is on Warp 3, by the way). In the
- meantime any help will be appreciated.
-
-
- PREREQUISITES
-
- To run Vim, you need the emx runtime environment (at least rev. 0.9b). This
- is generally available as (ask Archie about it):
-
- emxrt.zip emx runtime package
-
- I've included a copy of emx.dll, which should be copied to one of the
- directories listed in your LIBPATH. Emx is GPL'ed, but the emx.dll library is
- not (read COPYING.EMX to find out what that means to you).
-
- This emx.dll is from the emxfix04.zip package, which unfortunately has a bug,
- eh, I mean a POSIX feature, in select(). Versions of Vim before 3.27 will
- appear to hang when starting (actually, while processing vimrc). Hit <Enter> a
- couple of times until Vim starts working if this happens. Next, get an up to
- date version of Vim!
-
-
- HELP AND VIMRC FILE
-
- If you unpack the archive that Vim came in and run Vim directly from where it
- was unpacked, Vim should be able to find the runtime files and your .vimrc
- without any settings.
-
- If you put the runtime files separately from the binary, the VIM environment
- variable is used to find the location of the help files and the system .vimrc.
- Place an entry such as this in CONFIG.SYS: >
-
- SET VIM=c:/local/lib/vim
-
- Put your .vimrc and your other Vim files in this directory. Copy the runtime
- directory to this directory. Each version of Vim has its own runtime
- directory. It will be called something like "c:/local/lib/vim/vim54". Thus
- you get a tree of Vim files like this:
- c:/local/lib/vim/.vimrc
- c:/local/lib/vim/vim54/filetype.vim
- c:/local/lib/vim/vim54/doc/help.txt
- etc.
-
- Note: .vimrc may also be called _vimrc to accommodate those who have chosen to
- install OS/2 on a FAT file system. Vim first tries to find .vimrc and if that
- fails, looks for _vimrc in the same place. The existence of a .vimrc or
- _vimrc file influences the 'compatible' options, which can have unexpected side
- effects. See |'compatible'|.
-
- If you're using network drives with OS/2, then you can install Vim on a
- network drive (including .vimrc; this is then called the "system" vimrc file),
- and then use a personal copy of .vimrc (the "user" vimrc file). This should be
- located in a directory indicated by the HOME environment variable.
-
-
- ENVIRONMENT VARIABLES IN FILE NAMES
-
- This HOME environment variable is also used when using ~ in file names, so
- ":e ~/textfile" will edit the file "textfile" in the directory referred to by
- HOME. Additionally you can use other environment variables in file names, as
- as ":n $SRC/*.c".
-
- The HOME environment variable is also used to locate the .viminfo file
- (see |viminfo-file|). There is no support yet for .viminfo on FAT file
- systems yet, sorry. You could try the -i startup flag (as in "vim -i
- $HOME/_viminfo") however.
-
- If the HOME environment variable is not set, the value "C:/" is used as a
- default.
-
-
- BACKSLASHES
-
- Using slashes ('/') and backslashes ('\') can be a bit of a problem (see
- |dos-backslash| for more explanation), but in almost all cases Vim does "The
- Right Thing". Vim itself uses backslashes in file names, but will happily
- accept forward slashes if they are entered (in fact, sometimes that works
- better!).
-
-
- TEMP FILES
-
- Temporary files (for filtering) are put in the first directory in the next
- list that exists and where a file can be created:
- $TMP
- $TEMP
- C:\TMP
- C:\TEMP
- current directory
-
-
- TERMINAL SETTING
-
- *os2ansi*
- Use "os2ansi" as the TERM environment variable (or don't set it at all, as the
- default is the correct value). You can set term to os2ansi in the .vimrc, in
- case you need TERM to be a different value for other applications. The
- problem is that OS/2 ANSI emulation is quite limited (it doesn't have insert /
- delete line, for example).
-
- If you want to use a different value for TERM (because of other programs, for
- example), make sure that the termcap entry for that TERM value has the
- appropriate key mappings. The termcap.dat distributed with emx does not always
- have them. Here are some suitable values to add to the termcap entry of your
- choice; these allow the cursor keys and the named function keys (such as
- pagedown) to work.
-
- :ku=\316H:kd=\316P:kl=\316K:kr=\316M:%i=\316t:#4=\316s:\
- :kD=\316S:kI=\316R:kN=\316Q:kP=\316I:kh=\316G:@7=\316O:\
- :k1=\316;:k2=\316<:k3=\316=:k4=\316>:k5=\316?:k6=\316@:\
- :k7=\316A:k8=\316B:k9=\316C:k;=\316D:
-
-
- Paul Slootman
-
-
- 43 LINE WINDOW
-
- A suggestion from Steven Tryon, on how to run Vim in a bigger window:
-
- When I call Vim from an OS/2 WPS application such as PMMail it comes up
- in the default 25-line mode. To get a more useful window size I make
- my external editor "vimbig.cmd" which in turn calls "vimbig2.cmd".
- Brute force and awkwardness, perhaps, but it works.
-
- vimbig.cmd: >
- @echo off
- start "Vi Improved" /f vimbig2.cmd %1 %2 %3 %4
-
- vimbig2.cmd: >
- @echo off
- mode 80,43
- vim.exe %1 %2 %3 %4
- exit
- <
-
- CLIPBOARD ACCESS (provided by Alexander Wagner)
-
- Vim for OS/2 has no direct access to the system clipboard. To enable access
- anyway you need an additional tool which gives you access to the clipboard
- from within a vio application. The freeware package clipbrd.zip by Stefan
- Gruendel can be used for this purpose. You might download the package
- including precompiled binaries and all sources from: >
- http://www.stellarcom.org/vim/index.html.
-
- Installation of this package is straight forward: just put the two executables
- that come with this package into a directory within your PATH for vim should
- be able to call them from whatever directory you are working.
-
- To copy text from the clipboard to your vim session you can use the :r
- command. Simply call clipbrd.exe from within vim in the following way: >
-
- :r !clipbrd -r
-
- To copy text from vim to the system clipboard just mark the text in the usual
- vim-manner and call: >
-
- :!clipbrd -w
-
- which will write your selection right into OS/2's clipboard.
-
- For ease of use you might want to add some maps for this commands. E.g. to
- use F11 to paste the clipboard into vim and F12 to copy selected text to the
- clipboard you would use: >
-
- if has("os2")
- imap <F11> <ESC>:r !clipbrd -r<CR>i
- vmap <F12> :!clipbrd -w<cr>
- else
- imap <F11> <ESC>"*p<CR>i
- vmap <F12> "*y
- endif
-
- This will ensure that only on OS/2 clipbrd is called whereas on other
- platforms vims build in mechanism is used. (To enable this functions on every
- load of vim plase the above lines in your .vimrc.)
-
- vim:tw=78:ts=8:ft=help:norl:
-